﻿using System;
namespace Producers.Rr.Xtee.Riik.Ee.Producer.Rr {
    
    
    public class CodHaridused : global::Xtee.Core.Schema.XsdString {
        
        public const string A1ALGHARIDUSETAKUTSEERIALAHARIDUSETA = "A.1";
        
        public const string A2ALGHARIDUSETAKUTSEHARIDUS = "A.2";
        
        public const string A1PÕHIHARIDUSETAKUTSEHARIDUS = "A1";
        
        public const string A2PÕHIHARIDUSETAKUTSEHARIDUSPÕHIHARIDUSEOMA = "A2";
        
        public const string A3PÕHIHARIDUSETAKUTSEHARIDUSKESKHARIDUSEOMA = "A3";
        
        public const string A4PÕHIHARIDUSETAKUTSEHARIDUS = "A4";
        
        public const string A5PÕHIHARIDUSETAKESKERITEHNIKUMIHARIDUS = "A5";
        
        public const string A6PÕHIHARIDUSETAKÕRGHARIDUS = "A6";
        
        public const string BPÕHIHARIDUS = "B";
        
        public const string B1ALGHARIDUSKUTSEERIALAHARIDUSETA = "B.1";
        
        public const string B10ALGHARKÕRGHARIDUSBAKALAUREUS = "B.10";
        
        public const string B11ALGHARKÕRGHARIDUSOMANDATUDENNE1992 = "B.11";
        
        public const string B12ALGHARKÕRGHARIDUSMAGISTER = "B.12";
        
        public const string B13ALGHARKÕRGHARDOKTORTEADUSTEKANDIDAAT = "B.13";
        
        public const string B2ALGHARKUTSEHARNÕUTAVHARIDUSTASEPUUDUS = "B.2";
        
        public const string B4ALGHARKUTSEHARSAIKESKHARIDUSE = "B.4";
        
        public const string B5ALGHARKUTSEKESKSISSEASTUMISELPÕHIHAR = "B.5";
        
        public const string B6ALGHARKUTSEKESKSISSEASTUMISELKESKHAR = "B.6";
        
        public const string B7ALGHARKESKERITEHNIKUMSISSEASTNÕUEPÕHIH = "B.7";
        
        public const string B8ALGHARKESKERITEHNIKUMSISSEASTNÕUEKESKH = "B.8";
        
        public const string B9ALGHARRAKENDUSKÕRGKUTSEKÕRGDIPLOMIÕPE = "B.9";
        
        public const string B1PÕHIHARIDUSKUTSEHARIDUS = "B1";
        
        public const string B3PÕHIHARIDUSKUTSEHARIDUSKESKHARIDUSEOMANDA = "B3";
        
        public const string B4PÕHIHARIDUSKUTSEHARIDUS = "B4";
        
        public const string B5PÕHIHARIDUSKESKERITEHNIKUMIHARIDUS = "B5";
        
        public const string B6PÕHIHARIDUSKÕRGHARIDUS = "B6";
        
        public const string CÜLDKESKHARIDUS = "C";
        
        public const string C1PÕHIHARKUTSEERIALAHARIDUSETA = "C.1";
        
        public const string C10PÕHIHARKÕRGHARIDUSBAKALAUREUS = "C.10";
        
        public const string C11PÕHIHARKÕRGHARIDUSOMANDATUDENNE1992 = "C.11";
        
        public const string C12PÕHIHARKÕRGHARIDUSMAGISTER = "C.12";
        
        public const string C13PÕHIHARKÕRGHDOKTORTEADUSTEKANDIDAAT = "C.13";
        
        public const string C2PÕHIHARKUTSEHARNÕUTAVHARIDUSTASEPUUDUS = "C.2";
        
        public const string C3PÕHIHARKUTSEHAREISAANUDKESKHARIDUST = "C.3";
        
        public const string C4PÕHIHARKUTSEHARSAIKESKHARIDUSE = "C.4";
        
        public const string C5PÕHIHARKUTSEKESKSISSEASTUMISELPÕHIHAR = "C.5";
        
        public const string C6PÕHIHARKUTSEKESKSISSEASTUMISELKESKHAR = "C.6";
        
        public const string C7PÕHIHARKESKERITEHNIKUMSISSEASTNÕUEPÕHIH = "C.7";
        
        public const string C8PÕHIHARKESKERITEHNIKUMSISSEASTNÕUEKESKH = "C.8";
        
        public const string C9PÕHIHARRAKENDUSKÕRGKUTSEKÕRGDIPLOMIÕPE = "C.9";
        
        public const string C1ÜLDKESKHARIDUSKUTSEHARIDUS = "C1";
        
        public const string C4ÜLDKESKHARIDUSKUTSEKESKHARIDUS = "C4";
        
        public const string C5ÜLDKESKHARIDUSKESKERITEHNIKUMIHARIDUS = "C5";
        
        public const string C6ÜLDKESKHARIDUSKÕRGHARIDUS = "C6";
        
        public const string D1ÜLDKESKKUTSEERIALAHARIDUSETA = "D.1";
        
        public const string D10ÜLDKESKKÕRGHARIDUSBAKALAUREUS = "D.10";
        
        public const string D11ÜLDKESKKÕRGHARIDUSOMANDATUDENNE1992 = "D.11";
        
        public const string D12ÜLDKESKKÕRGHARIDUSMAGISTER = "D.12";
        
        public const string D13ÜLDKESKKÕRGHDOKTORTEADUSTEKANDIDAAT = "D.13";
        
        public const string D2ÜLDKESKKUTSEHARNÕUTAVHARIDUSTASEPUUDUS = "D.2";
        
        public const string D3ÜLDKESKKUTSEHAREISAANUDKESKHARIDUST = "D.3";
        
        public const string D4ÜLDKESKKUTSEHARSAIKESKHARIDUSE = "D.4";
        
        public const string D5ÜLDKESKKUTSEKESKSISSEASTUMISELPÕHIHAR = "D.5";
        
        public const string D6ÜLDKESKKUTSEKESKSISSEASTUMISELKESKHAR = "D.6";
        
        public const string D7ÜLDKESKKESKERITEHNIKUMIHARIDUSPÕHIHGA = "D.7";
        
        public const string D8ÜLDKESKKESKERITEHNIKUMSISSEASTNÕUEKESKH = "D.8";
        
        public const string D9ÜLDKESKRAKENDUSKÕRGKUTSEKÕRGDIPLOMIÕPE = "D.9";
        
        public const string MUU = "0";
        
        public CodHaridused(string value) : 
                base(value) {
            this.Validate();
            string annot = null;
            if (Value == "") {
                annot = "...";
            }
            if (Value == "A.1") {
                annot = "A.1 – ALGHARIDUSETA. KUTSE-, ERIALAHARIDUSETA";
            }
            if (Value == "A.2") {
                annot = "A.2 – ALGHARIDUSETA. KUTSEHARIDUS";
            }
            if (Value == "A1") {
                annot = "A1 – PÕHIHARIDUSETA. KUTSEHARIDUS";
            }
            if (Value == "A2") {
                annot = "A2 – PÕHIHARIDUSETA. KUTSEHARIDUS PÕHIHARIDUSE OMA";
            }
            if (Value == "A3") {
                annot = "A3 – PÕHIHARIDUSETA. KUTSEHARIDUS KESKHARIDUSE OMA";
            }
            if (Value == "A4") {
                annot = "A4 – PÕHIHARIDUSETA. KUTSEHARIDUS";
            }
            if (Value == "A5") {
                annot = "A5 – PÕHIHARIDUSETA. KESKERI-/TEHNIKUMIHARIDUS";
            }
            if (Value == "A6") {
                annot = "A6 – PÕHIHARIDUSETA. KÕRGHARIDUS";
            }
            if (Value == "B") {
                annot = "B – PÕHIHARIDUS";
            }
            if (Value == "B.1") {
                annot = "B.1 – ALGHARIDUS. KUTSE-, ERIALAHARIDUSETA";
            }
            if (Value == "B.10") {
                annot = "B.10 – ALGHAR KÕRGHARIDUS (BAKALAUREUS)";
            }
            if (Value == "B.11") {
                annot = "B.11 – ALGHAR KÕRGHARIDUS (OMANDATUD ENNE 1992)";
            }
            if (Value == "B.12") {
                annot = "B.12 – ALGHAR KÕRGHARIDUS (MAGISTER)";
            }
            if (Value == "B.13") {
                annot = "B.13 – ALGHAR  KÕRGHAR (DOKTOR/TEADUSTE KANDIDAAT)";
            }
            if (Value == "B.2") {
                annot = "B.2 – ALGHAR KUTSEHAR, NÕUTAV HARIDUSTASE PUUDUS";
            }
            if (Value == "B.4") {
                annot = "B.4 – ALGHAR KUTSEHAR, SAI KESKHARIDUSE";
            }
            if (Value == "B.5") {
                annot = "B.5 – ALGHAR KUTSEKESK, SISSEASTUMISEL PÕHIHAR";
            }
            if (Value == "B.6") {
                annot = "B.6 – ALGHAR KUTSEKESK, SISSEASTUMISEL KESKHAR";
            }
            if (Value == "B.7") {
                annot = "B.7 – ALGHAR  KESKERI/TEHNIKUM SISSEAST.NÕUE PÕHIH";
            }
            if (Value == "B.8") {
                annot = "B.8 – ALGHAR  KESKERI/TEHNIKUM SISSEAST.NÕUE KESKH";
            }
            if (Value == "B.9") {
                annot = "B.9 – ALGHAR RAKENDUSKÕRG, KUTSEKÕRG, DIPLOMIÕPE";
            }
            if (Value == "B1") {
                annot = "B1 – PÕHIHARIDUS. KUTSEHARIDUS";
            }
            if (Value == "B3") {
                annot = "B3 – PÕHIHARIDUS. KUTSEHARIDUS KESKHARIDUSE OMANDA";
            }
            if (Value == "B4") {
                annot = "B4 – PÕHIHARIDUS. KUTSEHARIDUS";
            }
            if (Value == "B5") {
                annot = "B5 – PÕHIHARIDUS. KESKERI-/TEHNIKUMIHARIDUS";
            }
            if (Value == "B6") {
                annot = "B6 – PÕHIHARIDUS. KÕRGHARIDUS";
            }
            if (Value == "C") {
                annot = "C - ÜLDKESKHARIDUS";
            }
            if (Value == "C.1") {
                annot = "C.1 – PÕHIHAR KUTSE-, ERIALAHARIDUSETA";
            }
            if (Value == "C.10") {
                annot = "C.10 – PÕHIHAR KÕRGHARIDUS (BAKALAUREUS)";
            }
            if (Value == "C.11") {
                annot = "C.11 – PÕHIHAR KÕRGHARIDUS (OMANDATUD ENNE 1992)";
            }
            if (Value == "C.12") {
                annot = "C.12 – PÕHIHAR KÕRGHARIDUS (MAGISTER)";
            }
            if (Value == "C.13") {
                annot = "C.13 – PÕHIHAR KÕRGH (DOKTOR/TEADUSTE KANDIDAAT)";
            }
            if (Value == "C.2") {
                annot = "C.2 – PÕHIHAR KUTSEHAR, NÕUTAV HARIDUSTASE PUUDUS";
            }
            if (Value == "C.3") {
                annot = "C.3 – PÕHIHAR KUTSEHAR, EI SAANUD KESKHARIDUST";
            }
            if (Value == "C.4") {
                annot = "C.4 – PÕHIHAR KUTSEHAR, SAI KESKHARIDUSE";
            }
            if (Value == "C.5") {
                annot = "C.5 – PÕHIHAR KUTSEKESK, SISSEASTUMISEL PÕHIHAR";
            }
            if (Value == "C.6") {
                annot = "C.6 – PÕHIHAR KUTSEKESK, SISSEASTUMISEL KESKHAR";
            }
            if (Value == "C.7") {
                annot = "C.7 – PÕHIHAR KESKERI/TEHNIKUM SISSEAST.NÕUE PÕHIH";
            }
            if (Value == "C.8") {
                annot = "C.8 – PÕHIHAR KESKERI/TEHNIKUM SISSEAST.NÕUE KESKH";
            }
            if (Value == "C.9") {
                annot = "C.9 – PÕHIHAR RAKENDUSKÕRG, KUTSEKÕRG, DIPLOMIÕPE";
            }
            if (Value == "C1") {
                annot = "C1 – ÜLDKESKHARIDUS. KUTSEHARIDUS";
            }
            if (Value == "C4") {
                annot = "C4 – ÜLDKESKHARIDUS. KUTSEKESKHARIDUS";
            }
            if (Value == "C5") {
                annot = "C5 – ÜLDKESKHARIDUS. KESKERI-/TEHNIKUMIHARIDUS";
            }
            if (Value == "C6") {
                annot = "C6 – ÜLDKESKHARIDUS. KÕRGHARIDUS";
            }
            if (Value == "D.1") {
                annot = "D.1 – ÜLDKESK KUTSE-, ERIALAHARIDUSETA";
            }
            if (Value == "D.10") {
                annot = "D.10 – ÜLDKESK KÕRGHARIDUS (BAKALAUREUS)";
            }
            if (Value == "D.11") {
                annot = "D.11 – ÜLDKESK KÕRGHARIDUS (OMANDATUD ENNE 1992)";
            }
            if (Value == "D.12") {
                annot = "D.12 – ÜLDKESK KÕRGHARIDUS (MAGISTER)";
            }
            if (Value == "D.13") {
                annot = "D.13 – ÜLDKESK  KÕRGH (DOKTOR/TEADUSTE KANDIDAAT)";
            }
            if (Value == "D.2") {
                annot = "D.2 – ÜLDKESK KUTSEHAR, NÕUTAV HARIDUSTASE PUUDUS";
            }
            if (Value == "D.3") {
                annot = "D.3 – ÜLDKESK KUTSEHAR, EI SAANUD KESKHARIDUST";
            }
            if (Value == "D.4") {
                annot = "D.4 – ÜLDKESK KUTSEHAR, SAI KESKHARIDUSE";
            }
            if (Value == "D.5") {
                annot = "D.5 – ÜLDKESK KUTSEKESK, SISSEASTUMISEL PÕHIHAR";
            }
            if (Value == "D.6") {
                annot = "D.6 – ÜLDKESK KUTSEKESK, SISSEASTUMISEL KESKHAR";
            }
            if (Value == "D.7") {
                annot = "D.7 – ÜLDKESK KESKERI/TEHNIKUMIHARIDUS PÕHIH-GA";
            }
            if (Value == "D.8") {
                annot = "D.8 – ÜLDKESK KESKERI/TEHNIKUM SISSEAST.NÕUE KESKH";
            }
            if (Value == "D.9") {
                annot = "D.9 – ÜLDKESK RAKENDUSKÕRG, KUTSEKÕRG, DIPLOMIÕPE";
            }
            if (Value == "0") {
                annot = "MUU";
            }
            if (annot!=null) {
                this._annotation = annot;
            }
            else {
                throw new global::Xtee.Core.Types.XteeSimpleTypeValidationException(string.Format("Enumeration on [{0}] does not allow value : [{1}] ", this.GetType().Name,Value.ToString()));;
            }
        }
        
        public CodHaridused() : 
                base(string.Empty) {
        }
        
        public static bool TryParse(string value, out global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.CodHaridused result) {
            try {
                result = new global::Producers.Rr.Xtee.Riik.Ee.Producer.Rr.CodHaridused(value);
                return true;
            }
            catch (System.Exception ) {
                result = null;
                return false;
            }
        }
        
        public static implicit operator String (CodHaridused value) {
            return value.Value;
        }
        
        public static implicit operator CodHaridused (string value) {
            if (value==null) {
                return null;
            }
            return new CodHaridused(value);
        }
    }
}
